/*******************************************
 *                                         *
 *******************************************/

#ifndef TIMER_H
#define TIMER_H

//Needed Libraries
#include "Window.h"
#include <string>
#include <cstring>
#include <sstream>

//Max FPS String
#define MAX_CHAR 20

//Used for converting float to char*
using std::stringstream;

//Timer Class Declartion
namespace WindowsFramework
{
	class Timer
	{
		public:
			//Constructor
			Timer (void);
			//Destructor
			~Timer (void);

			//Public Methods
			void Start (void);
			void Update (void);
			void Stop (void);

			//Getters
			float GetFrameTime (void);
			float GetFPS (void);
			char* GetFPS_String (void);
			
		private:
			//Private Members
			bool IsActive;
			DWORD CurTickCount;
			DWORD PrvTickCount;
			float FPS, FrameTime;
			char* FPS_String;
			stringstream Converter;
	};
};

#endif